# mpv input control file
#
# You are able to redefine default keyboard/joystick/mouse/LIRC bindings, or
# add new ones here.
# See DOCS/man/input.rst for possible commands that can be bound.
# Also see mpv --input-cmdlist for other possible options.
# The file should be placed in the $HOME/.mpv directory.
#
# mpv --input-test --force-window --idle can be used to test which commands
# keys are bound to.
#
# If you wish to unbind a key, bind it to the 'ignore' command:
#   KEY ignore
#
# Note that merely removing default key bindings from this file won't remove
# the default bindings mpv was compiled with, unless
#   --no-input-default-bindings
# is specified.
#
# Lines starting with # are comments. Use SHARP to assign the # key.
#
# Strings need to be quoted and escaped:
#   KEY show_text "This is a single backslash: \\ and a quote: \" !"
#
# You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with
# modifiers Shift, Ctrl, Alt and Meta, but note that currently reading
# key combinations is only supported through the video windows of certain
# output drivers (not in output windows of other drivers or in a terminal).

# All lines in this file are commented. If you want to remap a key, copy the
# file to ~/.mpv/input.conf, and uncomment and edit the binding you want to
# change.

# Developer note:
# etc/input.conf from the mpv source tree is baked into the mpv binary, with
# all entries magically uncommented and parsed on initialization. Thus, this
# file defines the mpv default key bindings. If this file is read as normal
# config file, all lines starting with '#' are treated as comments (and this
# file, if unedited, doesn't define any bindings).
# Lines that have a space after the '#' are always ignored as real comments.

# If this is enabled, treat all the following bindings as default.
#default-bindings start

#MOUSE_BTN0 ignore                      # don't do anything
#MOUSE_BTN0_DBL cycle fullscreen        # toggle fullscreen on/off
#MOUSE_BTN2 cycle pause                 # toggle pause on/off
#MOUSE_BTN3 seek 10
#MOUSE_BTN4 seek -10
#MOUSE_BTN5 add volume 1
#MOUSE_BTN6 add volume -1

# Mouse wheels, touchpad or other input devices that have axes
# if the input devices supports precise scrolling it will also scale the
# numeric value accordingly
#AXIS_UP    seek 10
#AXIS_DOWN  seek -10
#AXIS_LEFT  seek 5
#AXIS_RIGHT seek -5

## Seek units are in seconds, but note that these are limited by keyframes
#RIGHT seek  10
#LEFT  seek -10
#UP    seek  60
#DOWN  seek -60
# Do smaller, always exact (non-keyframe-limited), seeks with shift.
# Don't show them on the OSD (no-osd).
#Shift+RIGHT no-osd seek  1 - exact
#Shift+LEFT  no-osd seek -1 - exact
#Shift+UP    no-osd seek  5 - exact
#Shift+DOWN  no-osd seek -5 - exact
#PGUP seek 600
#PGDWN seek -600
#+ add audio-delay 0.100                # this changes audio/video sync
#- add audio-delay -0.100
#[ multiply speed 0.9091                # scale playback speed
#] multiply speed 1.1
#{ multiply speed 0.5
#} multiply speed 2.0
#BS set speed 1.0                       # reset speed to normal
#q quit
#Q quit_watch_later
#q {encode} quit
#ESC quit
#ESC {encode} quit
#p cycle pause                          # toggle pause/playback mode
#. frame_step                           # advance one frame and pause
#, frame_back_step                      # go back by one frame and pause
#SPACE cycle pause
#> playlist_next                        # skip to next file
#ENTER playlist_next force              # skip to next file or quit
#< playlist_prev                        # skip to previous file
#o osd                                  # cycle through OSD mode
#I show_text "${filename}"              # display filename in osd
#P show_progress
#z add sub-delay -0.1                   # subtract 100 ms delay from subs
#x add sub-delay +0.1                   # add
#9 add volume -1
#/ add volume -1
#0 add volume 1
#* add volume 1
#( add balance -0.1                     # adjust audio balance in favor of left
#) add balance 0.1                      #                                  right
#m cycle mute
#1 add contrast -1
#2 add contrast 1
#3 add brightness -1
#4 add brightness 1
#5 add gamma -1
#6 add gamma 1
#7 add saturation -1
#8 add saturation 1
#d cycle framedrop                      # cycle through framedrop modes
# toggle deinterlacer; requires either vdpau output, -vf yadif or kerndeint
#D cycle deinterlace
#c cycle colormatrix
# Next 3 currently only work with --no-ass
#r add sub-pos -1                       # move subtitles up
#t add sub-pos +1                       #                down
#v cycle sub-visibility
# stretch SSA/ASS subtitles with anamorphic videos to match historical
#V cycle ass-vsfilter-aspect-compat
#j cycle sub                            # cycle through subtitles
#J cycle sub down                       # ...backwards
#F cycle sub-forced-only
#SHARP cycle audio                      # switch audio streams
#_ cycle video
#TAB cycle program
#T cycle ontop                          # toggle video window ontop of other windows
#f cycle fullscreen                     # toggle fullscreen
#s screenshot                           # take a screenshot
#S screenshot video                     # ...without subtitles
#Alt+s screenshot - each-frame          # automatically screenshot every frame
#w add panscan -0.1                     # zoom out with -panscan 0 -fs
#e add panscan +0.1                     #      in
#POWER quit
#MENU cycle osd
#PLAY cycle pause
#PAUSE cycle pause
#PLAYPAUSE cycle pause
#STOP quit
#FORWARD seek 60
#REWIND seek -60
#NEXT playlist_next
#PREV playlist_prev
#VOLUME_UP add volume 1
#VOLUME_DOWN add volume -1
#MUTE cycle mute
#CLOSE_WIN quit
#CLOSE_WIN {encode} quit
#! add chapter -1                       # skip to previous chapter
#@ add chapter 1                        #         next
#E cycle edition                        # next edition
#A cycle angle
#U stop

#l cycle quvi-format 1
#L cycle quvi-format -1

# Apple Remote section
#AR_PLAY cycle pause
#AR_PLAY_HOLD quit
#AR_CENTER cycle pause
#AR_CENTER_HOLD quit
#AR_NEXT seek 10
#AR_NEXT_HOLD seek 120
#AR_PREV seek -10
#AR_PREV_HOLD seek -120
#AR_MENU show_progress
#AR_MENU_HOLD cycle mute
#AR_VUP add volume 1
#AR_VUP_HOLD add chapter 1
#AR_VDOWN add volume -1
#AR_VDOWN_HOLD add chapter -1

# Joystick section
# WARNING: joystick support has to be explicitly enabled at
#          compiletime with --enable-joystick
#

#JOY_AXIS0_PLUS seek 10
#JOY_AXIS0_MINUS seek -10
#JOY_AXIS1_MINUS seek 60
#JOY_AXIS1_PLUS seek -60
#JOY_BTN0 cycle pause
#JOY_BTN1 cycle osd
#JOY_BTN2 add volume 1
#JOY_BTN3 add volume -1

# For dvdnav:// and bdnav://

# navigation controls during playback
#ENTER  {discnav} discnav menu        # DISCNAV MENU
# BS    {discnav} discnav prev        # DISCNAV PREVIOUS menu (in the order chapter->title->root)
# navigation controls when showing menu (additionally to the controls above)
#UP    {discnav-menu} discnav up          # DISCNAV UP
#DOWN  {discnav-menu} discnav down        # DISCNAV DOWN
#LEFT  {discnav-menu} discnav left        # DISCNAV LEFT
#RIGHT {discnav-menu} discnav right       # DISCNAV RIGHT
#ENTER {discnav-menu} discnav select      # DISCNAV SELECT (ok)
#MOUSE_BTN0 {discnav-menu} discnav mouse
#MOUSE_MOVE {discnav-menu} discnav mouse_move

# For tv://
#h cycle tv-channel -1                  # previous channel
#k cycle tv-channel +1                  # next channel

#
# Not assigned by default
# (not an exhaustive list of unbound commands)
#

# ? add sub-scale +0.1                  # increase subtitle font size
# ? add sub-scale -0.1                  # decrease subtitle font size
# ? sub_step -1                         # immediately display next subtitle
# ? sub_step +1                         #                     previous
# ? cycle_values window-scale 0.5 2 1   # switch between 1/2, 2x, unresized window size
hwdec=vdpau
vo=opengl